package com.example.demo.component;


import org.springframework.web.servlet.LocaleResolver;
import org.thymeleaf.util.StringUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;

/**
 * @author Gzj
 * @Date 2022/7/8 10:54
 */
public class MyLocalResolver implements LocaleResolver {
    @Override
    /*
     *LocaleResolver的主要作用：
     * 解析Request中的语言标志参数或者head中的Accept-Language参数，
     * 并将解析后的参数保存到指定的域中。
     */
    public Locale resolveLocale(HttpServletRequest request) {
        //获取请求中的语言参数
        String l = request.getParameter("l");
        //Locale locale = Locale.getDefault();
        //如果请求的链接携带了国际化的参数
        if(!StringUtils.isEmpty(l)){
            //国家，地区
            String[] split = l.split("_");
            return new Locale(split[0],split[1]);
        }else {
            //使用默认的
            Locale locale = Locale.getDefault();
            return locale;
        }


    }

    @Override
    public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {

    }
}
